5 research outputs found
Large-Scale Microtask Programming
To make microtask programming more efficient and reduce the potential for
conflicts between contributors, I developed a new behavior-driven approach to
microtasking programming. In our approach, each microtask asks developers to
identify a behavior behavior from a high-level description of a function,
implement a unit test for it, implement the behavior, and debug it. It enables
developers to work on functions in isolation through high-level function
descriptions and stubs.
In addition, I developed the first approach for building microservices
through microtasks. Building microservices through microtasks is a good match
because our approach requires a client to first specify the functionality the
crowd will create through an API. This API can then take the form of a
microservice description. A traditional project may ask a crowd to implement a
new microservice by simply describing the desired behavior in a API and
recruiting a crowd. We implemented our approach in a web-based IDE,
\textit{Crowd Microservices}. It includes an editor for clients to describe the
system requirements through endpoint descriptions as well as a web-based
programming environment where crowd workers can identify, test, implement, and
debug behaviors. The system automatically creates, manages, assigns microtasks.
After the crowd finishes, the system automatically deploys the microservice to
a hosting site.Comment: 2 page, 1 figure, GC VL/HCC 2020, Graduate Consortiu
Find Unique Usages: Helping Developers Understand Common Usages
When working in large and complex codebases, developers face challenges using
\textit{Find Usages} to understand how to reuse classes and methods. To better
understand these challenges, we conducted a small exploratory study with 4
participants. We found that developers often wasted time reading long lists of
similar usages or prematurely focused on a single usage. Based on these
findings, we hypothesized that clustering usages by the similarity of their
surrounding context might enable developers to more rapidly understand how to
use a function. To explore this idea, we designed and implemented \textit{Find
Unique Usages}, which extracts usages, computes a diff between pairs of usages,
generates similarity scores, and uses these scores to form usage clusters. To
evaluate this approach, we conducted a controlled experiment with 12
participants. We found that developers with Find Unique Usages were
significantly faster, completing their task in 35% less time
Smart Homes for Elderly Healthcare—Recent Advances and Research Challenges
Advancements in medical science and technology, medicine and public health coupled with increased consciousness about nutrition and environmental and personal hygiene have paved the way for the dramatic increase in life expectancy globally in the past several decades. However, increased life expectancy has given rise to an increasing aging population, thus jeopardizing the socio-economic structure of many countries in terms of costs associated with elderly healthcare and wellbeing. In order to cope with the growing need for elderly healthcare services, it is essential to develop affordable, unobtrusive and easy-to-use healthcare solutions. Smart homes, which incorporate environmental and wearable medical sensors, actuators, and modern communication and information technologies, can enable continuous and remote monitoring of elderly health and wellbeing at a low cost. Smart homes may allow the elderly to stay in their comfortable home environments instead of expensive and limited healthcare facilities. Healthcare personnel can also keep track of the overall health condition of the elderly in real-time and provide feedback and support from distant facilities. In this paper, we have presented a comprehensive review on the state-of-the-art research and development in smart home based remote healthcare technologies